home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / patches / fser096b / fserial.txt < prev    next >
Text File  |  1993-01-08  |  9KB  |  216 lines

  1.  
  2.  
  3.  
  4.         ************************************************************
  5.         *                                                          *
  6.         *              FSERIAL.CPX V1.0 Release Notes              *
  7.         *                                                          *
  8.         ************************************************************
  9.  
  10.                                  Roman Hodek
  11.  
  12.                                8. Januar 1993
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. Inhaltsverzeichnis
  20. ==================
  21.  
  22. 1) Zweck
  23. 2) Bedienung
  24. 3) Die FSERIAL-Infos
  25. 4) Portabilit„t
  26. 5) Bugreports
  27. 6) History
  28.  
  29.  
  30. 1) Zweck
  31. ========
  32.  
  33. FSERIAL.CPX ist Bestandteil von FAST_SER von Franz Sirl,  das  CPX  wurde  von
  34. Roman Hodek geschrieben. Es dient zur Konfiguration der seriellen Schnittstel-
  35. len unter Bercksichtigung von FAST_SER.
  36.  
  37.   FSERIAL.CPX tut im Prinzip dasselbe wie das bekannte  MODEM.CPX  von  Atari,
  38. nur daž es eben merkt, wenn FAST_SER installiert ist und entsprechend handelt.
  39. Darberhinaus kann FSERIAL.CPX ein paar Informationen ber die  Schnittstellen
  40. anzeigen und Breaks senden.
  41.  
  42.  
  43. 2) Bedienung
  44. ============
  45.  
  46. Im Hauptdialog verh„lt sich FSERIAL.CPX genauso,  wie man es von einem CPX er-
  47. wartet und wie man es von MODEM.CPX gewohnt ist.  Es haben nur folgende kleine
  48. Anpassungen stattgefunden:
  49.  
  50.  - Die Anordnung von Datenbits/Parit„t/Stopbits wurde umgestellt,  so  daž  es
  51.    der gewohnten Reihenfolge von z.B. 8N1 entspricht.
  52.  
  53.  - Gibt es keine erweiterten Schnittstellen,  so ist das Port-Popup abgeschal-
  54.    tet und fest auf Modem 1.
  55.  
  56.  - Ist die aktuelle Schnittstelle Serial 1, so ist kein Rts/Cts-Handshake m”g-
  57.    lich, da Serial 1 keine solchen Handshake-Leitungen besitzt.
  58.  
  59.  - Es gibt eine Infozeile,  die die Version des CPX anzeigt  und  ob  FAST_SER
  60.    installiert ist und wenn ja, welche Version.
  61.  
  62.  - Es gibt einen Button,  um den Kompatibilit„tsmodus von FAST_SER  ein-  bzw.
  63.    auszuschalten.  Ist dieser Modus an,  so k”nnen zwei der erweiterten Speeds
  64.    unter den Rsconf()-Indices 0 und  1  angesprochen  werden,[1]  die  "alten"
  65.    Raten verschieben sich dementsprechend um 2 und bei Indices ò 18 findet man
  66.    alle m”glichen neuen Speeds.  Um also z.B.  bei Seriell 2  38400  bps  ein-
  67.    zustellen,  w„hlt man in einem "nichtwissenden" Programm 9600 bps (=  Index
  68.    1) aus.  Ist die Kompatibilit„t ausgeschaltet,  so sind die neuen Geschwin-
  69.    digkeiten nur am Ende zu finden, d.h. sie k”nnen von Programmen, die nichts
  70.    von FAST_SER wissen,  nicht angesprochen werden. FSERIAL.CPX kommt mit bei-
  71.    den Konventionen zurecht,  allerdings kann es beim Umschalten zwischen bei-
  72.    den Modi zu einem Verstellen der Baudrate kommen.  Man  sollte  also  immer
  73.    zuerst den Kompatib.modus „ndern,  "OK" drcken und danach  nocheinmal  die
  74.    bps-Rate kontrollieren.
  75.  
  76. Beim  Booten  werden  alle  Parameter  inklusive   der   aktuellen   seriellen
  77. Schnittstelle auf die in FSERIAL.CPX gespeicherten Werte  gesetzt.  Bei  jedem
  78. Aufruf werden die Parameter erneut abgefragt,  da sie  ja  von  einem  anderen
  79. Programm verstellt worden sein k”nnten.  Man kann also  FSERIAL.CPX  auch  zum
  80. Abfragen der aktuellen Einstellungen benutzen.
  81.  
  82.   Wird der Dialog mit "OK" verlassen, so werden die Parameter fr _alle_ Ports
  83. gesetzt (nicht nur fr den gerade unter "Port" eingestellten).  Ebenso  werden
  84. bei "Sichern" die Werte fr alle Ports abgespeichert.
  85.  
  86.   Leider ist aber der Handshakemode nicht per Rsconf() abfragbar.  Daher  wird
  87. hierfr direkt auf eine undokumentierte Variable der IOREC-Struktur  zugegrif-
  88. fen.[2] Bei einem TOS ó 1.02 kann leider die eingestellte bps-Rate  nicht  ab-
  89. gefragt werden. Dieser Fall wird auch nicht abgefragt, da man dann wahrschein-
  90. lich weder FAST_SER noch FSERIAL.CPX ben”tigt.
  91.  
  92. ---------------
  93.  
  94.  [1]  Seriell 2 und Modem 2 (Mega STE):  0<->57600,  1<->38400,  Modem 2 (TT):
  95.       0<->38400, 1<->76800
  96.  
  97.  [2]  Dabei wird auch ein TOS-Fehler in diesem Zusammenhang umschifft.
  98.  
  99.  
  100.  
  101. 3) Die FSERIAL-Infos
  102. ====================
  103.  
  104. Mit dem Button "Info" kommt man zu den  FSERIAL-Infos.  Dort  werden  folgende
  105. Daten angezeigt:
  106.  
  107. Port: Der Port, zu dem die Daten geh”ren.
  108.  
  109. Chiptyp: Der Hardwarechip,  der diese  Schnittstelle  steuert.  Wenn  FAST_SER
  110.     installiert ist,  bekommt man bei SCC-Ports eine genaue Angabe des  Chips,
  111.     ansonsten nur "SCC".
  112.  
  113. Input-Puffer: Die Gr”že des Puffers fr ankommende Daten.
  114.  
  115. Output-Puffer: dito fr den Ausgabepuffer
  116.  
  117. Fehleranzeigen: FAST_SER verwaltet verschiedene Z„hler fr Fehler, die bei der
  118.     šbertragung auftreten k”nnen.  Ist FAST_SER nicht installiert,  so bleiben
  119.     die folgenden Angaben leer.  SCC-bedingt sind manche  der  Angaben  leider
  120.     nicht immer 100%-ig verl„žlich (speziell Frame Errors und Lost Chars).
  121.  
  122.     Framing Errors: Zu soviel Zeichen wurden keine  bzw.  nicht  die  richtige
  123.         Anzahl Stopbits empfangen.
  124.  
  125.     Parity Errors: Anzahl der Zeichen,  fr die eine inkorrekte Parit„t  fest-
  126.         gestellt wurde.
  127.  
  128.     Rx Overflows: Anzahl der Zeichen,  die wegen vollem Empfangspuffers verlo-
  129.         rengingen.
  130.  
  131.     Lost Chars: Anzahl der Zeichen,  die verlorengingen,  weil der  SCC  nicht
  132.         schnell genug abgefragt wurde.
  133.  
  134.     Die Fehlerz„hler laufen normalerweise immer weiter,  wenn neue Fehler pas-
  135.     sieren.  Mit dem Button "Fehler l”schen" kann man alle Z„hler  wieder  auf
  136.     Null setzen, falls dies n”tig sein sollte.
  137.  
  138. Zus„tzlich zu den Infos kann man aus diesem Dialog auch noch einen Break (d.h.
  139. eine Dauerlage Nullen ohne Stopbits) senden. Der Break dauert solange, wie man
  140. sich mit gedrckter Maustaste auf dem Button befindet.
  141.  
  142.  
  143. 4) Portabilit„t
  144. ===============
  145.  
  146. Bei der Vielfalt der seriellen Schnittstellen und der TOS-Fehler ist es  nicht
  147. einfach, wirklich portabel zu programmieren. Daher gibt es ein paar Einschr„n-
  148. kungen:
  149.  
  150.  - FSERIAL.CPX kann nur mit einer TOS-Version ò 1.04 verwendet werden,  da man
  151.    vorher die eingestellte bps-Rate nicht auslesen kann.
  152.  
  153.  - FSERIAL.CPX verl„žt sich ”fters darauf,  daž es entweder 1,  3  (Mega  STE)
  154.    oder 4 (TT) serielle Ports gibt,  und dies genau bei den genannten  Maschi-
  155.    nen.  Falls es einmal Schwierigkeiten hiermit geben sollte, bitte Bugreport
  156.    an mich. Ebenfalls wird angenommen, daž bei 3 Ports diese "Modem 1", "Modem
  157.    2" und "Serial 2" heižen.  Bei 4 Ports wird "Serial 1" vor "Serial 2"  ein-
  158.    geschoben.  "Serial 1" hat dabei die besondere Eigenschaft,  daž  es  keine
  159.    Handshakeleitungen besitzt.
  160.  
  161.  - FSERIAL.CPX erlaubt aktuell bis zu maximal  29  verschiedene  bps-Raten  an
  162.    einer Schnittstelle.  Da es FAST_SER prinzipiell erlaubt,  eigene Geschwin-
  163.    digkeiten zu definieren,  k”nnte dies dazu fhren,  daž manche Speeds nicht
  164.    mehr einstellbar sind.  Die Grenze w„re jedoch durch einfaches Neucompilie-
  165.    ren hochzusetzen.
  166.  
  167.  - Man kann mit Rsconf() nicht den Handshakemodus erfahren. Dieser ist aber in
  168.    einer (undokuentierten) IOREC-Variablen gespeichert.  Es  gibt  auch  schon
  169.    mehrere andere Programme,  die sich darauf verlassen, daž diese Angabe dort
  170.    steht.  Leider funkt auch hier wieder ein TOS-Fehler dazwischen: In manchen
  171.    Versionen war sich Atari nicht einig,  ob der Modus nun im  High-  oder  im
  172.    Lowbyte des Words zu speichern ist.  Daher wird  folgendermažen  abgefragt:
  173.    Wenn im Lowbyte ein Wert ungleich Null steht,  so wird dieser benutzt.  Nur
  174.    wenn dort eine Null ist,  wird der Wert des Highbytes  benutzt.  Auch  hier
  175.    gilt: Wenn mein Vorgehen Schwierigkeiten verursacht: Bugreport an mich.
  176.  
  177.  - Auch beim Break-Senden ist Atari mal wieder ein Tippfehler unterlaufen: Bei
  178.    den Original SCC-Rsconf's wird das Breakbit im falschen Parameter erwartet.
  179.    Um dies zu umschiffen,  habe ich folgende Methode gew„hlt:  Zuerst wird das
  180.    Bit an der richtigen Stelle gesetzt und dann im TSR-Rckgabewert  nachgese-
  181.    hen,  ob dort das Bit nun wirklich 1 ist.  Wenn ja ist alles ok, sonst wird
  182.    das Bit im Argument davor gesetzt.
  183.  
  184.  
  185. 5) Bugreports
  186. =============
  187.  
  188. FSERIAL.CPX wurde in einem mehrmonatigen  Betatest  geprft  und  scheint  in-
  189. zwischen einigermažen fehlerfrei zu sein. Falls Sie doch einen Bug finden oder
  190. einen Verbesserungsvorschlag habe, so schreiben Sie bitte an:
  191.  
  192.   Roman Hodek
  193.   Baiersdorfer Str. 7
  194.   8521 M”hrendorf
  195.   Roman Hodek @ N (Mausnetz)
  196.   cdb0@faui60.informatik.uni-erlangen.de
  197.   rnhodek@cip.informatik.uni-erlangen.de
  198.  
  199.   am Besten per E-Mail.  Fr eine Diagnose ist eine  genaue  Beschreibung  des
  200. Fehlers und seiner Symptome sowie eine genaue Angabe der benutzten  Systemkon-
  201. figuration (Hard- und Software) „užerst wichtig!
  202.  
  203.  
  204. 6) History
  205. ==========
  206.  
  207. V0.1á: Erste ver”ffentlichte Version
  208.  
  209. V0.2á: Watermark-Anzeige im Infodialog ersetzt (da wenig sinnvoll)  durch  die
  210.     Fehlerz„hler;  Button fr baud_table_flag eingebaut;  Fehler beim  Window-
  211.     Verschieben beseitigt
  212.  
  213. V0.3á = V1.0: Kleiner Vertipper  bei  Stopbits/Parit„t-Einstellung  beseitigt;
  214.     ansonsten scheint das CPX inzwischen weitgehend fehlerfrei zu sein.
  215.  
  216.